<?php

class VueJournal{
	
	/**
	 * Fonction d'affichage pour afficher les icones relatifs aux journaux
	 * @param $journal      objet de classe journal
	 */
	public static function afficherIco($journal){
		
		$Edition = new Edition();
		$Edition->recupLastEdition($journal->getIDJournal());
		$tpl = new Template('tpl'); // creation du template $template
	 	$tpl->set_file(array( 
		"icoJournal"=>"ico.journal.tpl" 
		)); // on definit le fichier contenant le module
		$tpl->set_var("ICOJORNALLOGO",$journal->getURLLogo());
		$tpl->set_var("ICOJOURNALNOM",$journal->getNom());
		$tpl->set_var("ICOJOURNALID",$journal->getIDJournal());
		$tpl->set_var("ICOJOURNALIDREVU",$Edition->getIDEdition());
		$tpl->set_var("ICOJOURNALPRIXREVU",$Edition->getPrix());
		$tpl->parse("ICOJOURNAL","icoJournal");
		return $tpl->get("ICOJOURNAL"); 
		
	}
	
	/**
	 * Fonction d'affichage pour afficher les pages relatifs aux journaux
	 */
	public static function afficher($IDJournal){
		
		$i=0;
		$tpl = new Template('tpl'); // creation du template $template
	 	$tpl->set_file(array( 
		"journal"=>"journal.tpl" 
		)); // on definit le fichier contenant le module
		$tpl->set_block("journal","block_ico_edition", "edition");
		
		$Journal = new Journal();
		$Journal->recup($IDJournal);
		$tpl->set_var("JOURNALTITRE",$Journal->getNom());
		$tpl->set_var("JOURNALURL",$Journal->getURL());
		
		
		$Edition = new Edition();
		$result = $Edition->recupAllLastSeven($IDJournal);
		$nombreEdition = count($result);
		
		
		while ($i<$nombreEdition){
	 		$tpl->set_var("ICOEDITION",VueEdition::afficherIco($result[$i]));
	 		$tpl->parse("edition","block_ico_edition", true);
 			$i++;
 		}
		
		$tpl->parse("JOURNAL","journal");
		
		return $tpl->get("JOURNAL"); 	
	}
	
	/**
	 * Fonction d'affichage en cas d'erreur dans l'affichage d'un journal
	 */
	public static function afficherErreur(){
		return "Erreur dans l'affichage du Journal";
	}

	
	public static function afficherGererJournal(){
		$i=0;
		$tpl = new Template('tpl/administrateur'); // creation du template $template
	 	$tpl->set_file(array( 
		"GererJournal"=>"gererJournal.tpl" 
		)); // on definit le fichier contenant le module
		$tpl->set_var("AJOUTERJOURNAL",VueJournal::afficherAjouterJournal());
		$tpl->parse("GERERJOURNAL","GererJournal");
		return $tpl->get("GERERJOURNAL");
	}
	
	public static function afficherAjouterJournal(){
		
		$i = 0;
		$tpl = new Template('tpl/administrateur'); // creation du template $template
	 	$tpl->set_file(array( 
		"AjouterJournal"=>"ajouterJournal.tpl" 
		)); // on definit le fichier contenant le module
		
		$tpl->set_block("AjouterJournal","block_maisonEdition", "maisonEdition");
		
		$MaisonEdition = new MaisonEdition();
		$result = $MaisonEdition->recupAll();
		$nombreMaisonEdition = count($result);
		while ($i<$nombreMaisonEdition){
	 			$tpl->set_var("AJOUTERJOURNALMAISONEDITIONID",$result[$i]->getIDMaisonEdition());
	 			$tpl->set_var("AJOUTERJOURNALMAISONEDITION",$result[$i]->getNomMaison());
	 			$tpl->parse("maisonEdition","block_maisonEdition", true);
 				$i++;
 		}
 		
 		$tpl->set_block("AjouterJournal","block_editeur", "editeur");
 		
 		$i=0;
 		$Editeur = new Editeur();
 		$result = $Editeur->recupAll();
 		$nombreEditeur = count($result);
 		while($i<$nombreEditeur){
 			$tpl->set_var("AJOUTERJOURNALEDITEURID",$result[$i]->getIDEditeur());
 			$tpl->set_var("AJOUTERJOURNALEDITEUR",$result[$i]->getLogin());
 			$tpl->parse("editeur","block_editeur", true);
 			$i++;
 		}
		
		$tpl->parse("AJOUTERJOURNAL","AjouterJournal");
		return $tpl->get("AJOUTERJOURNAL");
		
	}
	
	public static function ajouterJournal($nom,$url,$prixJournal,$maisonEdition,$urlLogo,$editeur){
			$Journal = new Journal();
			$Journal->setNom($nom);
			$Journal->setURL($url);
			$Journal->setPrixEdition($prixJournal);
			$Journal->setIDMaisonEdition($maisonEdition);
			$Journal->setURLLogo($urlLogo);
			$Journal->setIDEditeur($editeur);
			$Journal->add();
			return "Journal ajouté";
	}
	
	
}
?>